package com.wholesmart.common.security.crypto;

import java.util.Base64;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 基于Base64的加密解密工具
 * 
 * @author dyw
 * @date 2019年12月16日
 */
public class Base64Crypto implements Crypto {
	protected Logger logger = LoggerFactory.getLogger(getClass());

	public Base64Crypto() {
		super();
		logger.info("浏览器安全模块启用Base64Crypto加密解密器，注意使用Base64加密传输密码");
	}

	@Override
	public String decode(String... objs) {
		if (objs != null) {
			return decodeProcess(objs[0]);
		}
		return null;
	}

	@Override
	public String encoder(String... objs) {
		if (objs != null) {
			return encoderProcess(objs[0]);
		}
		return null;
	}

	private String decodeProcess(String obj) {
		return new String(Base64.getDecoder().decode(obj));
	}

	private String encoderProcess(String obj) {
		return Base64.getEncoder().encodeToString(obj.getBytes());
	}
}
